"""
【字典】
"""
"""
【字典 dictionary】
    定义：
        大括号内是一个一个的键值对。
    
        定义字典字面量：{key:value, key:value, key:value, key:value...}
        定义字典变量：dict = {key:value, key:value, key:value, key:value...}
        定义空字典：
            方法1：dict = {}
            方法2：dict = dict()
            
    可以通过key，取到对应的value
    
    【注意】python中的字典的key是不可以重复的
    
    特点：
        字典的key和value可以是任意的数据类型【key不可以为字典】
"""
dict1 = {"小明": 99, "小华": 89, "小红": 97, "小张": 87}
print(dict1)
# 定义空字典
dict2 = {}
dict3 = dict()
print(dict2)
print(dict3)
# 定义重复key的字典
dict4 = {"小明": 99, "小华": 89, "小红": 97, "小张": 87, "小明": 99}
print(dict4)  # 小明只有一个

# 从字典中基于key取出对应value
score = dict1["小华"]
print(score)

# 定义一个嵌套的字典，这里的value又是一个字典
dict5 = {
    "小明": {"语文": 67, "数学": 87, "英语": 76},
    "小华": {"语文": 75, "数学": 98, "英语": 66},
    "小红": {"语文": 89, "数学": 75, "英语": 88}
}
print(dict5)
# 从嵌套字典中获取数据
print(dict5["小华"])
print(dict5["小华"]["数学"])

"""
【字典的常用操作】
    1、新增元素
        语法：
            字典[key] = value  这里的key是原字典没有的
        结果：
            字典被修改，增加了新元素
    2、更新元素
        语法：
            字典[key] = value  这里的key是原字典有的
        结果：
            字典key不可重复，所以这个操作更新了value值
    3、删除元素
        语法：
            字典.pop[key]
        结果：
            获得指定key的value值，同时字典key指定的数据被删除
    4、清空元素
        语法：
            字典.clear()
        结果：
            字典被修改，元素被清空
    5、获取全部的key
        语法：
            字典.keys()
        结果：
            得到字典中的全部key
    6、统计字典中的元素个数
        语法：
            num = len(字典)
        结果：
            得到该字典的元素个数
"""
# 遍历字典
keys = dict1.keys()
for key in keys:
    print(key)
